2 research outputs found

    Information technology service management: an experimental approach towards IT service prediction

    Get PDF
    Dissertation presented to obtain a Masters degree in Computer ScienceSoftware development and software quality improvement have been strong topics for discussion in the last decades. Software Engineering has always been concerned with theories and best practices to develop software for large-scale usage. However, most times those theories are not validated in real live environments. Therefore, the need for experiments is immense. The incidents database can be an important asset for software engineering teams. If they learn from past experience in service management, then they will be able to shift from a reactive approach to a more proactive one. The main goal of this dissertation is shedding some light on the influential factors that affect incidents lifecycle, from creation to its closure, and also to investigate to what accuracy the ARIMA models are a valid approach to model and predict not only the ITIL incident management process, but also other ITIL processes and services in general. The dissertation presented herein is on the crossroads of Empirical Software Engineering and of the emerging area of Services Science. It describes an experiment conducted upon a sample of incident reports, recorded during the operation of several hundred commercial software products, over a period of three years (2005-2007), on six countries in Europe and Latin America. The incidents were reported by customers of a large independent software vendor. The primary goal of an Incident Management process is to restore normal service operation as quickly as possible and minimize the adverse impact on business operations, thus ensuring that the best possible levels of service quality and availability are maintained. As a result of this, a software company can make use of a good incident management process to improve several areas of their business, particularly product development, product support, the relation with its customers and their positioning in the marketplace. The underlying research questions refer to the validation of which are the influencing factors affecting the incidents management lifecycle, and also aims at finding the existence of patterns and/or trends in incident creation and resolution based on a time series approach. Additionally, it presents the estimation, evaluation and validation of several ARIMA models created with the purpose of forecasting upon incident resolution based on incident creation historic data. Understanding causal-relationships and patterns on incident management can help software development organizations on optimizing their support processes and in allocating the adequate resources; people and budget

    Software development process mining: discovery, conformance checking and enhancement

    Get PDF
    Context. Modern software projects require the proper allocation of human, technical and financial resources. Very often, project managers make decisions supported only by their personal experience, intuition or simply by mirroring activities performed by others in similar contexts. Most attempts to avoid such practices use models based on lines of code, cyclomatic complexity or effort estimators, thus commonly supported by software repositories which are known to contain several flaws. Objective. Demonstrate the usefulness of process data and mining methods to enhance the software development practices, by assessing efficiency and unveil unknown process insights, thus contributing to the creation of novel models within the software development analytics realm. Method. We mined the development process fragments of multiple developers in three different scenarios by collecting Integrated Development Environment (IDE) events during their development sessions. Furthermore, we used process and text mining to discovery developers’ workflows and their fingerprints, respectively. Results. We discovered and modeled with good quality developers’ processes during programming sessions based on events extracted from their IDEs. We unveiled insights from coding practices in distinct refactoring tasks, built accurate software complexity forecast models based only on process metrics and setup a method for characterizing coherently developers’ behaviors. The latter may ultimately lead to the creation of a catalog of software development process smells. Conclusions. Our approach is agnostic to programming languages, geographic location or development practices, making it suitable for challenging contexts such as in modern global software development projects using either traditional IDEs or sophisticated low/no code platforms.Contexto. Projetos de software modernos requerem a correta alocação de recursos humanos, técnicos e financeiros. Frequentemente, os gestores de projeto tomam decisões suportadas apenas na sua própria experiência, intuição ou simplesmente espelhando atividades executadas por terceiros em contextos similares. As tentativas para evitar tais práticas baseiam-se em modelos que usam linhas de código, a complexidade ciclomática ou em estimativas de esforço, sendo estes tradicionalmente suportados por repositórios de software conhecidos por conterem várias limitações. Objetivo. Demonstrar a utilidade dos dados de processo e respetivos métodos de análise na melhoria das práticas de desenvolvimento de software, colocando o foco na análise da eficiência e revelando aspetos dos processos até então desconhecidos, contribuindo para a criação de novos modelos no contexto de análises avançadas para o desenvolvimento de software. Método. Explorámos os fragmentos de processo de vários programadores em três cenários diferentes, recolhendo eventos durante as suas sessões de desenvolvimento no IDE. Adicionalmente, usámos métodos de descoberta e análise de processos e texto no sentido de modelar o fluxo de trabalho dos programadores e as suas características individuais, respetivamente. Resultados. Descobrimos e modelámos com boa qualidade os processos dos programadores durante as suas sessões de trabalho, usando eventos provenientes dos seus IDEs. Revelámos factos desconhecidos sobre práticas de refabricação, construímos modelos de previsão da complexidade ciclomática usando apenas métricas de processo e criámos um método para caracterizar coerentemente os comportamentos dos programadores. Este último, pode levar à criação de um catálogo de boas/más práticas no processo de desenvolvimento de software. Conclusões. A nossa abordagem é agnóstica em termos de linguagens de programação, localização geográfica ou prática de desenvolvimento, tornando-a aplicável em contextos complexos tal como em projetos modernos de desenvolvimento global que utilizam tanto os IDEs tradicionais como as atuais e sofisticadas plataformas "low/no code"
    corecore